Scalable radar signal processing system

ABSTRACT

A scalable radar signal processing system for processing data between a data source and a receiving terminal, in which a bus system is connected in parallel on at least one DSP (Digital Signal Processor) node, to a corresponding number of standard DSP cards as well as components for user data delivery and for user data collection. Each DSP node is operated with the same software and all the signal processing algorithms are executed on a user data component assigned to the corresponding node.

BACKGROUND AND SUMMARY OF THE INVENTION

[0001] This application claims the priority of German patent document 100 50 304.7, filed Oct. 9, 2000, the disclosure of which is expressly incorporated by reference herein.

[0002] The invention is directed to a scalable radar signal processing system for processing data between a data source and a receiving terminal.

[0003] Heretofore, the development of a radar signal processing system was extremely costly, since use of products in multiple applications was possible only rarely, and then only to a very limited extent. Also, until now the use of commercial, universally applicable digital-signal processor (DSP) cards could not eliminate the development of project-specific, non-universally applicable components, since the available DSPs required complicated system architectures because of their still low computing power. The expense in the field of software development could also not be reduced.

[0004] One object of the present invention is to create a radar signal processing system, which consists to the greatest possible extent of commercially available series components.

[0005] Another object of the invention is to provide a radar signal processing system which is adaptable to different types of hardware and software, with less expense.

[0006] Still another object of the invention is to provide a system that is as simple as possible for developing and testing the corresponding software with a justifiable expenditure also for small device support.

[0007] These and other objects and advantages are achieved by the scalable radar signal processing system for processing data between a data source and a receiving terminal according to the invention, in which a bus system is connected in parallel on at least one DSP (=Digital Signal Processor) node, to a corresponding number of standard DSP cards as well as components for user data delivery and for user data collection. Each DSP node is operated with the same software and all the signal processing algorithms are executed on a user data component assigned to the corresponding node.

[0008] Other objects, advantages and novel features of the present invention will become apparent from the following detailed description of the invention when considered in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009]FIG. 1 is a schematic depiction of an arrangement according to the invention; and

[0010]FIG. 2 is a schematic illustration of the parts used in a commercially available component according to the invention.

DETAILED DESCRIPTION OF THE DRAWINGS

[0011] Until now, in newly initiated projects, the provision of an appropriate signal processor, as a rule, required high development cost, or, at least further development expense of not inconsiderable orders of magnitude. Also, because of economy measures, previous concepts based on DSP's ultimately require an additional development effort to make them applicable for other projects.

[0012] In the field of hardware development, costs can be reduced by using universally adaptable COTS (“Commercial Off-The-Shelf”) products of bulk markets such as, for example, in telecommunications. However, the demanding requirements of radar signal processing have until now lead, as mentioned, to project-specific architectures, which generally can be used only to a limited extent in other projects.

[0013] The expenditure for system software development generally represents the predominant component of overall development cost. Alternate hardware architectures and DSP platforms, as well as the persistent need for new technology generation require in each new project considerable programming effort, even though the basic algorithms (pulse compression, double filtering, CFAR (Constant False Alarm Rate) et al) remain essentially identical. Project-specific implementation of the software makes its applicability more difficult, since necessary additional modifications and improvements always presuppose knowledge of the entire software. Such knowledge, however, of the totality of the different implementations can only reside to the fullest extent with the original developer.

[0014] Furthermore, before the actual implementation of the software, the algorithms and the corresponding parameters must first be simulated, and adapted to the conditions of the particular project. As a rule, such a simulation corresponds structurally and functionally to the actual system software itself. Nevertheless, specific portions of the software must actually be coded twice, since the simulation and system software run on different platforms and languages (for example, “MatLab” and “C”).

[0015] The signal processor architecture for which digital signal processors should serve as basic components, consists mainly of two main components: “data transfer” and “data processing.” The architecture should be configured to correspond with the presented task on different DSP hardware platforms, independently of the technology, DSP type, and board type being used. Altogether, a degree of independence from the card manufacturer should be achieved. The DSP cards should also be obtainable as COTS products on the free market, to eliminate the necessity of special development costs. This means that only those elements which are found on the majority of DSP cards available on the market may be used as main components; that is, standardized bus systems and DSP nodes without manufacturer-specific further development.

[0016] To be able to construct systems of a desired efficiency with this architecture, the number of DSPs (which ultimately determines the efficiency of the system) can be variable. The easiest way to realize this objective is to provide a system in which each DSP is considered as having equal access in the system, so that it is assigned the same priority. With such equal access to all DSPs, all nodes are in connection as equal-access subscribers with the (eventually virtual) bus system, which is alone responsible for the transfer of the user data. It follows from this proposition that the connections to the radar head, as well as to the subsequent processing steps, are provided via this bus system.

[0017] Such equal access of the processors also necessitates the transfer of the same task, and therefore (necessarily in a radar signal processor) the processing of all the contained algorithms, in each DSP, which is a departure from the current practice. The increased requirement for computation time must therefore be compensated by several processors.

[0018] A tool for automatic software creation must take into consideration several properties of the desired system software. These are, above all, the architecture of the target system as well as the coding language and its scope.

[0019] Due to the requirement of scalability, each DSP must be able to process all the algorithms. As a consequence, identical software can run on all DSPs, and the automatic software generation can be limited to the system software of a single processor. Also no architectural specifications need be taken into account.

[0020] Furthermore, in software generation with a tool which should be suitable for target systems of different manufacturers, no manufacturer-specific target code particularities (such as, for example, operating systems or library functions, which exceed an absolutely necessary minimum measure) are taken into consideration. While the support packages (called software development kits, tool boxes, or board support packages) for carrying out elementary functions such as initialization or communication, which are supplied by the manufacturers in similar form, can be used, they must then however be modified manually by porting to another DSP card family.

[0021] The foregoing requirements lead ultimately to a system in which a variable number of DSP cards and components for user data delivery and user data collection are connected in parallel via a data bus. Each DSP node runs software which executes all the signal processing algorithms on a user data component assigned to the node.

[0022]FIG. 1 shows an overview of the parallel architecture of a system according to the invention. The implementation of such an architecture requires a suitable bus system, at least one and preferably several DSP nodes, a user data source, and a receiving terminal.

[0023] An exemplary embodiment of the invention is described hereinafter.

[0024] As a suitable bus system the widely distributed PCI (Peripheral Components Interconnect) bus was selected, which has transfer rates of up to 33 Mwords/s×32 bit or 133 Mbytes/s. The components for this bus system have been easy to obtain on the market since its introduction into standard PCs, and individual developments which are eventually necessary can be carried out with more ease with the chip sets available on the market. Furthermore; the PCI standard offers the expandable compact PCI (cPCI), which has suitable mechanic properties (more robust plug connectors, dual Europa format) together with the same electric properties for radar signal processors.

[0025] The DSP node or nodes should include (aside from their availability to the PCI bus) a DSP of the actual generation. As an exemplary embodiment, the TMS320C6701 of Texas Instruments was selected, a floating point signal processor, which has been available in bulk since 1999. The used Daytona67 type DSP card manufactured by Spectrum offers two processor nodes with a TMS320C6701 with 167 MHz, 2 Mbytes+128 Kbytes memory and local PCI bus, which also supplies a PMC (PCI Mezzainine Connector) module plug-in location on a PC plug-in card. Other features of the card should not be used in view of the generic architecture which is to be realized therewith.

[0026]FIG. 2 shows a block circuit diagram of this DSP card as well as correspondingly marked used components, namely the bus system and the DSP nodes. (More specific data as to the cards to be used can be found in Daytona Dual 'C6x PCI Board-Technical Reference, Doc. No. 500-00383, Rev. 2.00, Spectrum Signal Processing Inc., May 1999.) Since as already explained, each DSP on the card must process the same algorithms, the incoming user data must be distributed to the different DSPs. In the case of the MTI (Moving Target Indicator) Modkit, a distribution into burst packages is offered, since therein all the algorithms can be processed within a burst. A processing over several bursts takes place merely at the ground clutter board with strong wind loading changes. This special case need not be considered here, especially since suitable algorithmic countermeasures are possible.

[0027] The necessary arbitration mechanism relies on the principle of distributing data packages—here bursts—in sequence to the available DSPs. With identical package sizes and sufficient number of DSPs, a DSP obtains new data only when it has processed its previous package. This assumption is possible since the processing duration in most used algorithms is determined and constant.

[0028] To process the algorithms, first the complete data of a radar burst, and then the status word (which signals the concluded data transfer), are transmitted to the DSP nodes. When the result data are available, the DSP, in turn, sets a status word, which signalizes its readiness to deliver data and to receive new data.

[0029] A complete processing cycle of a single DSP node runs also in the following way:

[0030] transmission of a data package from the data source to the DSP node;

[0031] setting of the input status word;

[0032] computation of the result data;

[0033] setting of the output status word;

[0034] transmission of the result data to the receiving terminal.

[0035] All available DSP nodes process this cycle in canon-like nested form so that the obtained result data are available in the same time sequence, and the load on the communication bus is approximately constant.

[0036] The following modifications of the shown arbitration mechanism are possible and were also tested in the main features:

[0037] A DSP node receives several bursts in a data transfer procedure; this leads to less overhead, but higher latency time.

[0038] The use of differently sized packages with different resulting computation time is practical in the application case of a multimode radar; but it requires an additional transfer of processing parameters and an expanded arbitration mechanism as well as “reserve DSPs.”

[0039] An increased number of DSP cards provides corresponding redundancy, which is in part desirable for specific applications.

[0040] The used PC, into which the DSP card was incorporated (also called “host” hereinafter) takes over, in addition to the control tasks already mentioned, the simulation of the data source and the receiving terminal. These tasks are converted to the host software in Microsoft Developer Studio with Visual C and auxiliary functions of the Daytona WinNt Host Software Development Kit of Spectrum according to Daytona/Barcelona 'C6x PCI Board-Windows NT Programming Guide, Doc. No. 500-00384, Rev. 1.10, Spectrum Signal Processing Inc., May 1999.

[0041] The following actions are carried out by the software:

[0042] Simulated radar data computation;

[0043] Initialization of the DSP subsystem and the communication between host and DSP node,

[0044] Loading of DSP node with system software

[0045] Endless loop (abandoned only in an emergency):

[0046] DSP node loop:

[0047] Retrieving events of the latest computation—in case they are available—from the buffer memory;

[0048] Transmitting the radar data in the DSP memory;

[0049] Starting the computation;

[0050] End of the DSP node loop,

[0051] End of the endless loop,

[0052] Release of the resources of the DSP system.

[0053] Furthermore, for integration purposes, time measurement (as well as the ability to transmit and display status reports of the individual DSP nodes) is integrated into the minimum required system software.

[0054] Therefore, it must be taken into consideration that the simulation of the source and the terminal via a single program can under certain conditions, falsify the measurement results. To prevent this, the source and the terminal can also be simulated via programs running separately and independently from each other. However, the influence of the operating system Windows NT should be taken into account, which in turn can also have a falsifying effect. In the real operation, however, these problems do not occur, since at least the data source is realized as a separate bus subscriber because of the high incoming data rates.

[0055] The system software of the DSP nodes is essentially simpler in its structure since the transfer of radar data, as well as the entire sequence control, is executed by the host. It was created in the code composer with ANSI-C (American National Standards Institute) and auxiliary functions of the Daytona C6x DSP Software Development Kit of Spectrum according to Daytona Dual 'C6x PCI Board-Technical Reference, Doc. No.500-00383, Rev. 2.00, Spectrum Signal Processing Inc., May 1999, and converted to an executable code with the code generation tools of Texas Instruments.

[0056] The following actions are carried out by the software:

[0057] Initialization of the DSP hardware

[0058] Endless loop;

[0059] Waiting for new radar data;

[0060] Executing signal processing algorithms;

[0061] Transmitting result data to the host;

[0062] End of endless loop.

[0063] Here also, for integration purposes, another time measurement as well as the ability to transmit DSP status reports, was integrated into the minimum required system software.

[0064] It was shown to be problematic to divide the available memory accessible to the host so that input and output data can be maintained simultaneously (that is, in different memory areas). On the one hand, this makes possible an almost simultaneous transfer to and from the DSP nodes, the coordination taking over therein the arbitration mechanism of the PCI bus; on the other hand, the number of memory accesses of the DSP software cannot be allowed to increase excessively by additional copying actions.

[0065] To be able to evaluate the effectiveness of the DSP system, the required computation time was determined at two locations to prevent measurement errors. The computation time for a single burst was measured in the DSP software and a similar measurement took place in the host software. The latter value contained in addition the data transfer times and was therefore somewhat higher.

[0066] The duration of one burst served as comparison scale for the measured values. The quotient of both values produces a first approximation of the required number of DSPs for the realization of the corresponding algorithm combination.

[0067] The representation of the effectiveness of the system designed according to the invention was tested, on the configuration of the MTI (Moving Target Indicator) ModKit, and also on other configurations of part realistic, part academic nature. The following table shows in detail the algorithm combinations, the required computation times, as well as the number of TMS32C6701 required for the real-time realization: Computation Number Configuration Algorithmic Times of DSPs Original 2 complex filters 90/95 ms 3 condition OS-CFAR 2544 EZ GCM-resolution 180 Simplified 2 real filters 31/36 ms 1 CA-CFAR 2544 EZ GCM resolution 180 Minimum system 2 real filters 12/17 ms 1 CA-CFAR 1000 EZ GCM resolution 180 Efficiently 2 real filters 13/18 ms 1 simplified CAGO-CFAR 1000 EZ GCM resolution 180 System A 8 complex filters 76/82 ms 2 CAGO-CFAR 1000 EZ GCM resolution 180 Complex system A 8 complex filters 137/143 ms 4 OS-CFAR 1000 EZ GCM resolution 512

[0068] Remarks with respect to the table:

[0069] EZ: distance cells

[0070] The Ground Clutter Map (GCM) resolution “512” contains the mean value formation of neighboring GCM entries

[0071] The use of the reduced number of distance cells is allowed because of the 2.5-fold oversampling.

[0072] Abbreviations and Terms

[0073] ANSI—American National Standards Institute

[0074] CFAR—Constant False Alarm Rate

[0075] COTS—Commercial Off-the-Shelf

[0076] CPCI—Compact PCI

[0077] DSP—Digital Signal Processor

[0078] GCM—Ground Clutter Map

[0079] IV—Information Processing

[0080] MTI—Moving Target Indicator

[0081] MTD—Moving Target Detector

[0082] PCI—Peripheral Components Interconnect

[0083] PMC—PCI Mezzanine Connector

[0084] The foregoing disclosure has been set forth merely to illustrate the invention and is not intended to be limiting. Since modifications of the disclosed embodiments incorporating the spirit and substance of the invention may occur to persons skilled in the art, the invention should be construed to include everything within the scope of the appended claims and equivalents thereof. 

What is claimed is:
 1. A scalable radar signal processing system for processing data between a data source and a receiving terminal, said signal processing system comprising: a data bus system having a plurality of DSP nodes; a corresponding plurality of standard DSP cards connected in parallel via bus system; and components for user data delivery and for user data collection connected to said bus system; wherein each DSP node is operated with the same software; and all signal processing algorithms are executed on a user data component assigned to the corresponding nodes.
 2. The radar signal processing system according to claim 1, wherein a standardized bus system is used.
 3. The radar signal processing system according to claim 2, wherein the user data are distributed in packages, which are transmitted in sequence to the DSPs and are forwarded from the latter after processing.
 4. The radar signal processing system according to claim 3, wherein a processing cycle consists of the following steps: transmission of a data package from the data source to the DSP node; setting of the input status word; calculation of the result data; setting the output data word; and transmitting the result data to the receiving terminal.
 5. The radar signal processing system according to claim 3, wherein for the development of the software, the signal processing system is integrated into a standard PC, which carries out simultaneously the simulation of the data source and receiving terminal as well as also the measurement of the values for optimization purposes. 